<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // es6 解决异步任务 代码编写顺序和执行顺序不一致 的统一方案
        const weather = new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve({ temp: 29, conditions: 'Sunny' });// 调用resolve,执行.then
            }, 5000)
        });
        const tweets = new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve(['I like you', 'Give me one kiss']);
            }, 3000)
        })
        // 多个 Promise 怎么按顺序执行
        // weather
        //     .then((data) => {
        //         // 拿到天气
        //         console.log(data);
        //         // Promise 内部又返回了一个 Promise 可以继续下一个
        //         return tweets;
        //     })
        //     .then((data) => {
        //         // tweets
        //         console.log(data);
        //     })
        Promise
            .all([weather, tweets]) // 静态方法 static  所有都执行完了再向下执行
            .then(response => {
                // console.log(response);
                const [weatherInfo, tweetsInfo] = response;
                console.log(weatherInfo, tweetsInfo);
            })
    </script>
</body>

</html>